<form role="form" [formGroup]="form">

  <div class="form-group">
    <label for="displayName" i18n>Display name</label>

    <div class="input-group">
      <input
        type="text" id="displayName" placeholder="John Doe"
        formControlName="displayName" [ngClass]="{ 'input-error': formErrors['displayName'] }"
      >
    </div>

    <div *ngIf="formErrors.displayName" class="form-error">
      {{ formErrors.displayName }}
    </div>
  </div>

  <div class="form-group">
    <label for="username" i18n>Username</label>

    <div class="input-group">
      <input
        type="text" id="username" i18n-placeholder placeholder="Example: jane_doe"
        formControlName="username" class="form-control" [ngClass]="{ 'input-error': formErrors['username'] }"
      >
      <div class="input-group-append">
        <span class="input-group-text">@{{ instanceHost }}</span>
      </div>
    </div>

    <div class="name-information" i18n>
      The username is a unique identifier of your account on this and all the other instances. It's as unique as an email address, which makes it easy for other people to interact with it.
    </div>

    <div *ngIf="formErrors.username" class="form-error">
      {{ formErrors.username }}
    </div>
  </div>

  <div class="form-group">
    <label for="email" i18n>Email</label>
    <input
      type="text" id="email" i18n-placeholder placeholder="Email"
      formControlName="email" class="form-control" [ngClass]="{ 'input-error': formErrors['email'] }"
    >
    <div *ngIf="formErrors.email" class="form-error">
      {{ formErrors.email }}
    </div>
  </div>

  <div class="form-group">
    <label for="password" i18n>Password</label>
    <input
      type="password" id="password" i18n-placeholder placeholder="Password" autocomplete="new-password"
      formControlName="password" class="form-control" [ngClass]="{ 'input-error': formErrors['password'] }"
    >
    <div *ngIf="formErrors.password" class="form-error">
      {{ formErrors.password }}
    </div>
  </div>

  <div class="form-group form-group-terms">
    <my-peertube-checkbox inputName="terms" formControlName="terms">
      <ng-template ptTemplate="label">
        <ng-container i18n>
          I am at least 16 years old and agree
          to the <a (click)="onTermsClick($event)" href='#'>Terms</a>
          <ng-container *ngIf="hasCodeOfConduct"> and to the <a (click)="onCodeOfConductClick($event)" href='#'>Code of Conduct</a></ng-container>
          of this instance
        </ng-container>
      </ng-template>
    </my-peertube-checkbox>

    <div *ngIf="formErrors.terms" class="form-error">
      {{ formErrors.terms }}
    </div>
  </div>
</form>
